package com.acarter.scenemonitor.propertydescriptor.enums;
/**
 * <p>Title</p>
 * 
 * <p>Description: </p>
 *
 * <p>Copyright (c) 2007</p>
 *
 * @author Andrew Carter
 * @version 
 */


/**
 * Enumerates the possible shape types.
 * 
 * @author Andrew Carter
 */
public enum E_ShapeType {
	
	/**  */
	ARROW("Arrow"),
	
	/**  */
	AXISRODS("Axis Rods"),
	
	/**  */
	BOX("Box"),
	
	/**  */
	CAPSULE("Capsule"),
	
	/**  */
	CONE("Cone"),
	
	/**  */
	CYLINDER("Cylinder"),
	
	/**  */
	DISK("Disk"),
	
	/**  */
	DODECAHEDRON("Dodecahedron"),
	
	/**  */
	DOME("Dome"),
	
	/**  */
	EXTRUSION("Extrusion"),
	
	/**  */
	GEOSHPERE("Geosphere"),
	
	/**  */
	HEXAGON("Hexagon"),
	
	/**  */
	ICOSAHEDRON("Icosahedron"),
	
	/**  */
	OCTAHEDRON("Octahedron"),
	
	/**  */
	ORIENTEDBOX("Oriented Box"),
	
	/**  */
	PQTORUS("PQ Torus"),
	
	/**  */
	PYRAMID("Pyramid"),
	
	/**  */
	QUAD("Quad"),
	
	/**  */
	ROUNDEDBOX("Rounded Box"),
	
	/**  */
	SPHERE("Sphere"),
	
	/**  */
	STRIPBOX("Strip Box"),
	
	/**  */
	TEAPOT("Teapot"),
	
	/**  */
	TORUS("Torus");

	/** String representation of the enum value */
	private String name;

	/**
	 * Private constructor.
	 * 
	 * @param value
	 *            String literal of the enum
	 */
	private E_ShapeType(String name) {

		this.name = name;
	}

	/**
	 * Returns the enum constant matching the name string.
	 * 
	 * @param name
	 *            string value of enum constant
	 * @return matching enum constant or null
	 */
	public static E_ShapeType getConstant(String name) {

		for (E_ShapeType constant : E_ShapeType.values()) {

			if (constant.toString().compareToIgnoreCase(name) == 0)
				return constant;
		}

		return null;
	}

	/**
	 * Returns the string value of the constant.
	 */
	public String toString() {

		return name;
	}
}
